package com.zjkj.mp.service.user;

import java.util.List;
import java.util.Map;

import com.zjkj.mp.utils.PaginatedResult;
import com.zjkj.mp.vo.MpAuthority;
import com.zjkj.mp.vo.user.MpUser;

public interface UserService {

	/**
	 * 登录用户信息验证
	 * @param username
	 * @param password
	 * @return
	 */
	public MpUser loginUser(String username, String password);
	
	/**
	 * 获取用户的权限列表
	 * @param User
	 * @return
	 */
	public List<MpAuthority> getQxdmList(String zgdm);
	
	/**
	 * 添加用户
	 * @param user
	 */
	public void addUser(MpUser user);
	
	/**
	 * 根据邮件来查找用户
	 * @param email
	 * @return
	 */
	public MpUser findByEmail(String email);
	
	 
	
	/**
	 * 删除用户信息，改变用户状态为注销。
	 * @param userId
	 */
	public void disableUser(int userId);

	/**
	 * 根据ID得到用户信息
	 */
	public MpUser findUserById(int parseInt);

	/**
	 * 更新用户信息
	 * @param user
	 */
	public void updateInfo(MpUser user);
	
	/**
	 * 加入黑名单
	 */
	public void addToBlackList(int userId);
	
	/**
	 * 得到用户列表
	 * @param params 查询参数，查询条件，如果得到所有用户，可以为null
	 */
	public PaginatedResult  getUserList(int pageNo,int pageSize,Map<String,Object> params);

	/**
	 * 将用户从黑名单中移除
	 * @param userId
	 */
	public void removeFromBalckList(int userId);
	
}
